#pragma once
#ifndef _fastbird_IShader_header_included_
#define _fastbird_IShader_header_included_

#include <Engine/SmartPtr.h>
#include <Engine/Renderer/RendererStructs.h>

namespace fastbird
{
	class IShader : public ReferenceCounter
	{
	public:
		virtual ~IShader() {}
		virtual void Bind() = 0;
		virtual bool IsValid() const = 0;
		virtual void* GetVSByteCode(unsigned& size) const = 0;
	};
}

#endif //_fastbird_IShader_header_included_